home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / jockey / handlers / b43.py next >
Text File  |  2009-10-25  |  2KB  |  60 lines

  1. # (c) 2008 Canonical Ltd.
  2. # Author: Martin Pitt <martin.pitt@ubuntu.com>
  3. # License: GPL v2 or later
  4.  
  5. import re, os.path, logging, subprocess
  6. from glob import glob
  7.  
  8. from jockey.oslib import OSLib
  9. from jockey.handlers import KernelModuleHandler
  10.  
  11. class B43Handler(KernelModuleHandler):
  12.     '''Handler for Broadcom Wifi chipsets which use the b43 module and
  13.     b43-fwcutter.'''
  14.  
  15.     def __init__(self, ui):
  16.         KernelModuleHandler.__init__(self, ui, 'b43')
  17.         self.package = 'b43-fwcutter'
  18.  
  19.     def enabled(self):
  20.         '''Return if the handler is enabled.
  21.         
  22.         'Enabled' means that the user agreed to use this driver if it is
  23.         applicable.
  24.         '''
  25.         return KernelModuleHandler.enabled(self) and \
  26.             len(glob('/lib/firmware/b43/*.fw')) > 0
  27.  
  28.     def used(self):
  29.         '''Return if the handler is currently in use.'''
  30.  
  31.         return KernelModuleHandler.used(self) and \
  32.             len(glob('/lib/firmware/b43/*.fw')) > 0
  33.  
  34.     def id(self):
  35.         '''Return an unique identifier of the handler.'''
  36.  
  37.         i = 'firmware:' + self.module
  38.         if self.driver_vendor:
  39.             i += ':' + self.driver_vendor.replace(' ', '_')
  40.         return i
  41.  
  42.     def enable(self):
  43.         '''Remove blacklist produced by BroadcomWLHandler.'''
  44.  
  45.         if (OSLib.inst.package_installed('bcmwl-kernel-source')):
  46.             self.backend.remove_package('bcmwl-kernel-source')
  47.             subprocess.call(['/sbin/rmmod', 'wl'])
  48.  
  49.         KernelModuleHandler.enable(self)
  50.         if os.path.exists('/usr/share/b43-fwcutter/install_bcm43xx_firmware.sh'):
  51.             subprocess.call(['/usr/share/b43-fwcutter/install_bcm43xx_firmware.sh'])
  52.  
  53. class B43LegacyHandler(B43Handler):
  54.     '''Handler for Broadcom Wifi chipsets which use the b43legacy module and
  55.     b43-fwcutter.'''
  56.  
  57.     def __init__(self, ui):
  58.         KernelModuleHandler.__init__(self, ui, 'b43legacy')
  59.         self.package = 'b43-fwcutter'
  60.